package org.nfIt.utils;

import org.nfIt.entity.system.SysUser;

/**
 * ClossName:AuthContextUtil
 * Pakage:org.nfIt.utils
 * Description
 *
 * 使用该工具类可以实现在同一个线程进行数据的共享。
 *
 * 线程隔离 在此场景下
 *  在set()方法中绑定了 sysUser对象当前线程中
 *  在get()方法中获取当前线程绑定的变量
 *  在remove() 方法中移除当前变量
 *
 * @Author L
 * @Create 2024/6/19 16:22
 * @Version 2023.1.3
 */
public class AuthContextUtil {

    //创建ThreadLocal对象
    private static final ThreadLocal<SysUser> threadLocal = new ThreadLocal<>();

    //添加数据方法
    public static void set(SysUser sysUser) {
        threadLocal.set(sysUser);
    }

    //获取数据方法
    public static SysUser get() {
        return threadLocal.get();
    }

    //删除数据方法
    public static void remove() {
        threadLocal.remove();
    }



}
